package edu.njust.cma.service;

import edu.njust.cma.DTO.*;
import edu.njust.cma.pojo.*;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public interface LabStaffService {

    List<SubTaskForLab> getUnSubmittedTask(int userId);
    List<SubTaskForLab> getUnReviewedTask(int userId);

    // 获取自己需要做的人员任务
    List<SubTaskForLab> getSubTaskForStaff(int userId);

    // 获取自己需要做的设施任务
    List<SubTaskForLab> getSubTaskForFacility(int userId);

    // 获取自己需要做的比对任务
    List<SubTaskForLab> getSubTaskForCompare(int userId);

    // 获取自己需要做的检验任务
    List<SubTaskForLab> getSubTaskForInspect(int userId);

    // 获取自己需要做的样品任务
    List<SubTaskForLab> getSubTaskForSample(int userId);

    // 获取自己需要做的模拟任务
    List<SubTaskForLab> getSubTaskForSimulate(int userId);

    // 获取自己需要做的额外要求任务
    List<SubTaskForLab> getSubTaskForExtra(int userId);

    List<SubTaskForLab> getAllSubTaskForLab(int userId);

    List<SubTaskForLab> getUnCheckedTask(int userId);

    List<SubTaskForLab> getFinishSubTaskForLab(int userId);

    void submitForStaff(SubmitForStaff submitForStaff);

    void submitForStaffAgain(SubmitForStaff submitForStaff);

    void submitForFacilities(SubmitForFacilities submitForFacilities);

    void submitForFacilitiesAgain(SubmitForFacilities submitForFacilities);

    void submitForCompare(SubmitForFacilities submitForFacilities);

    void submitForCompareAgain(SubmitForFacilities submitForFacilities);

    void submitForInspect(SubmitForFacilities submitForFacilities);

    void submitForInspectAgain(SubmitForFacilities submitForFacilities);

    void submitForSample(SubmitForSample submitForSample);

    void submitForSampleAgain(SubmitForSample submitForSample);

    void submitForSimulation(SubmitForSimulation submitForSimulation);

    void submitForSimulationAgain(SubmitForSimulation submitForSimulation);

    void submitForExtra(SubmitForExtra submitForExtra);

    void submitForExtraAgain(SubmitForExtra submitForExtra);


    void readSubmission(int submissionId);
}


